public class question_14 {
}
//字符串数组的最长的公共前缀
class Solution_14 {
    public String longestCommonPrefix(String[] strs) {
//        先处理特殊的情况，也就是数组的长度是0或者1的情况
        if(strs==null||strs.length ==0){
            return "";
        }
        if(strs.length==1){
            return strs[0];
        }
//       先定义一个字符数组用来存储公共前缀组成的字符们
        char  result_Arr[]=new char[200];
//        先将第一个字符串的值转成字符数组赋给result_Arr
        char[] init = strs[0].toCharArray();
//        len表示result_Arr数组的的有效长度
        int len=init.length;
        for (int i = 0; i < init.length; i++) {
            result_Arr[i]=init[i];
        }
        for (int i = 1; i < strs.length; i++) {
            if(len==0){
//                前面都有不一样的了后面就不用看了
                break;
            }
            char[] temp_arr = strs[i].toCharArray();
            int min=len<temp_arr.length?len : temp_arr.length;
            int j=0;
            for ( j = 0; j < min; j++) {
                if(result_Arr[j]!=temp_arr[j]){
                    break;
                }
            }
//            更新len的长度
            len=j;

        }
        if(len ==0){
            return "";
        }else{
            return new String(result_Arr,0,len);
        }

    }

    public static void main(String[] args) {
        String arr[]={"flower","flow","flight"};
        Solution_14 solution_14 = new Solution_14();
        System.out.println(solution_14.longestCommonPrefix(arr));

    }
}